package com.cykj.pos.service;

import com.cykj.pos.domain.*;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cykj.pos.domain.dto.BizEntrySnDTO;

import com.cykj.pos.domain.dto.BizTransactionCountDTO;
import com.cykj.pos.domain.posone.BizAreaCodeDTO;
import com.cykj.pos.domain.posone.BizAreaCodeInfoDTO;
import com.cykj.pos.domain.posone.BizMerchantEntryDTO;
import com.cykj.pos.domain.posone.PosOneMerchantInfo;
import com.cykj.pos.profit.dto.MerchantDTO;

import java.util.List;

/**
 * 1、统一商户入件Service接口
 *
 * @author luo
 * @date 2021-08-31
 */
public interface IBizMerchantEntryService extends IService<BizMerchantEntry> {

    /**
     * 查询列表
     */
    List<BizMerchantEntry> queryList(BizMerchantEntry bizMerchantEntry);

    /**
     * 查询我的商户数量
     * @param userId
     * @return
     */
    int queryMyMerchNum(Long userId);

    /**
     * 查询商户的信息
     *
     * @param merchantDTO
     * @return
     */
    List<PosOneMerchantInfo> getPosOneMerchantInfo(MerchantDTO merchantDTO);

    /**
     * 查询省市区编码
     * @param bizAreaCodeDTO
     * @return
     */
    List<BizAreaCodeDTO> queryRegionalCode(BizAreaCodeDTO bizAreaCodeDTO);

    /**
     * 查询报件信息
     * @param snCode
     * @return
     */
    BizMerchantEntry getBizMerchantEntryBySn(String snCode);
    BizMerchantEntry getBizMerchantEntryBySns(String snCode);

    BizMerchantEntry getBizMerchantEntryByMerchantNo(String merchantNo);

    BizEntrySnDTO getBizEntrySn(String snCode);

    BizMerchantEntry selectBizMerchantEntry(Long id);

    int selectBizEntrySnNum(Long id);

    int upDateBizMerchantEntry(BizMerchantEntry bizMerchantEntryupdate);

    /**
     * 查询报件信息
     * @param merchId
     * @return
     */
    List<BizMerchantEntry> getBizMerchantEntryByMerchId(Long merchId);

    /**
     * 查询修改商户详情信息
     * @param snCode
     * @return
     */
    BizMerchantEntryDTO getBizMerchantEntryInfoBySn(String snCode);

    BizMerchantEntryDTO getBizMerchantEntryInfoByByMerchantNo(String merchantNo);

    /**
     * 查询省市区编码 对应值
     * @param provinceno
     * @return
     */
    BizAreaCodeInfoDTO getBizAreaCodeByCode(String provinceno);

    /**
     * 获得feeId
     * @param feeChlId
     * @return
     */
    BizAreaCodeInfoDTO getFeeIdInfo(String feeChlId);

    /**
     * 更改报件信息
     * @param bizMerchantEntry
     * @return
     */
    int updateizMerchantEntry(BizMerchantEntry bizMerchantEntry);

    String findMerchantNo(String snCode);

    void updateMerchantEntry(String merchantNo, String proMerSub);

    void insertBizEntrySn(BizMerchantEntry bizMerchantEntry);

    Long selectBizMerchantEntryId(String sn);

    /**
     * 查询设备终端编号和sn
     * @param bizMerchantEntry
     * @return
     */
    List<BizTransactionCountDTO> selectBizMerchantEntryByMerchantNo(BizMerchantEntry bizMerchantEntry);

    /**
     * 查询商户姓名和入网时间
     * @param merchantNo
     * @return
     */
    BizTransactionCountDTO selectBizMerchantEntryMerchNameAndTime(String merchantNo);

    /**
     * 查询商户报件表
     * @param id
     * @return
     */
    String selectBizMerchantEntrySn(Long id);

    /**
     * 更新商户报件表
     * @param bizMerchantEntry
     */
    int upDateBizMerchantEntryMerchantNo(BizMerchantEntry bizMerchantEntry);

    Long setBizPlatformSync(Long userId);

    void updateizMerchantEntryFacerecognizeface(BizMerchantEntry bizMerchantEntry1);

    void deleteMerchantEntry(Long id,String snCode);

    void updateizMerchantEntryErroMessage(Long  id,String retMsge);

    /**
     *  规则分辨
     */
    int insterRuleResolution(BizPlatformIncomingParts bizPlatformIncomingParts);
    List<BizEntryIndustry> getIndustry();
}
